<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        {
          //箭头函数没有this 只能定义的时候有关
          const obj = {name: '张三'};
          function fn(){
              console.log(this); //obj
              return () =>{
                  console.log(this); //obj
              }
          }
        //   fn();
          //call 改变this的指向 指向call() bind() apply()
          const resFn = (fn.call(obj))();
          fn.apply(obj,...[arr]);
        //   console.log((fn.call(obj))());
        }
        {
            const obj = {name: "张三"};
            function fn(){
                console.log(this); //this 指向 的是obj 对象
                return () =>{
                    console.log(this); //this 指向的是箭头函数定义的位置那么这个箭头函数定义在fn里面，而这个fn指向是的obj对象，所以这个this也指向是obj对象
                }
            }
              //  call 改变this的指向  指向call()的第一个参数
              const resFn = fn();
              resFn();
        }
    </script>
</body>
</html>